//
//  ViewController.m
//  countdown
//
//  Created by 楼楚 on 15/11/6.
//  Copyright © 2015年 Chu Lou. All rights reserved.
//

#import "ViewController.h"

@interface ViewController ()<UIAlertViewDelegate>
@property (weak, nonatomic) IBOutlet UILabel *countDown;

@property(strong,nonatomic) NSTimer *timer;
@end

@implementation ViewController
/*start*/
- (IBAction)Play
{
//     倒计时10秒，每秒更新label的显示
//    计时器
//
    /*参数说明
     1.时间间隔 double
     2.监听时钟触发的对象
     3.调用方法
     4.userInfo 可以是任意对象，通常传递nil
     5.repeats：是否重复
     
     */
    self.countDown.text = @"2";
//    scheduledTimerWithTimeInterval方法本质上就是创建一个时钟
//    添加到运行循环模式是DefaultRunLoopMode
//    1-－－－－－－－－－－－－－－－
//    self.timer = [NSTimer scheduledTimerWithTimeInterval:1.0 target:self selector:@selector(updateTimer:) userInfo:@"hello timer" repeats:YES];
//－－－－－－－－－－－－－－
//    2与1等价
    //     self.timer = [NSTimer timerWithTimeInterval:1.0 target:self selector:@selector(updateTimer:) userInfo:nil repeats:YES];
    // 将timer添加到运行循环
    //    模式 ：默认的运行循环模式
    //   [[NSRunLoop currentRunLoop]addTimer:self.timer forMode:NSDefaultRunLoopMode];
//    －－－－－－－－－－－
//    3
    self.timer = [NSTimer timerWithTimeInterval:1.0 target:self selector:@selector(updateTimer:) userInfo:nil repeats:YES];
// 将timer添加到运行循环
//    模式 ：
    [[NSRunLoop currentRunLoop]addTimer:self.timer forMode:NSRunLoopCommonModes];
}
- (void)updateTimer:(NSTimer *)timer
{
     NSLog(@"%s",__func__);
//    1.取出标签中的数字
    int counter = self.countDown.text.intValue;
    
// 2.判断是否为0 ，如果为0 ，停止运行
    if (--counter < 0) {
//       停止时钟
        [self Pause];
//        提示用户 提示框
//        UIAlertView *alert =[[UIAlertView alloc]initWithTitle:@"hi" message:@"time is out" delegate:nil cancelButtonTitle:@"cancel" otherButtonTitles:@"yes", nil];
//        [alert show];
       [[[UIAlertView alloc]initWithTitle:@"hi" message:@"time is out" delegate:nil cancelButtonTitle:@"cancel" otherButtonTitles:@"yes", nil]show];
        
    }else{
//    2.修改数字并更新UI
        self.countDown.text = [NSString stringWithFormat:@"%d",counter];
    }
}
/*pause*/
- (IBAction)Pause
{
//    停止时钟 invalidate是唯一停止时钟的方法
//    一旦调用invalidate，timer就无效了，如果再次启动时钟，需要重新实例化
//    
    
    [self.timer invalidate];
}

#pragma mark - alertView代理方法
- (void)alertView:(UIAlertView *)alertView clickedButtonAtIndex:(NSInteger)buttonIndex
{
    NSLog(@"%d",buttonIndex);
}












@end
